package org.gvp.manager.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import org.gvp.manager.dto.PathTreeData;
import org.gvp.manager.pojo.SecurityRolePath;
import org.gvp.manager.to.MapperUpdate;

import java.util.List;

/**
* 角色请求路径关系表 mp映射接口
*/
@Mapper
public interface SecurityRolePathMapper extends BaseMapper<SecurityRolePath> {

    /**
     * 根据角色ID获取角色路径key列表
     */
    List<String> selectRolePathKeys(Integer roleId);

    /**
     * 根据路径树数据的父id获取路径树数据
     */
    List<PathTreeData> selectByParentId(Integer parentId);

    /**
     * 根据角色的ID和路径菜单的KYE集合删除删除角色路径权限
     */
    int logicallyDelete(MapperUpdate update);

    /**
     * 根据路径key列表查找路径id列表
     */
    List<Integer> selectPathIds(List<String> keys);

    SecurityRolePath selectByRoleIdAndPathId(Integer roleId, Integer pathId);
    /**
     * 恢复逻辑删除的角色路径关系
     * @param id 角色路径id
     */
    int logicalRecovery(Integer id);
}
